/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DigimonAdventure.Database;

import javax.swing.ImageIcon;

/**
 *
 * @author Benz Louis
 */
public enum Weapon implements Sellable{
	//identifier (name ,modV, modS, modR, modA, price)
	//modifier bukan persen namun nilai
	//identifier adalah nama program buat si item
	//name adalah nama alias yang bakal terbaca di sistem ntar
	//modV berarti nambahin vitality (convert ke HP), modS nambahin strength (convert ke attack), dst
	//price berarti harga jual di shop (harga jual = harga beli/2)

	None ("-Empty Slot-",0,0,0,0,0,"This slot is Empty...","N/A","/DigimonAdventure/Graphics/Wpn.gif"),

	/**SWpn - Standard Weapon, +Str only*/
	SWpn1 ("Crude Sword",0,50,0,0,150,"Go look for a better sword!","Minor increase in Attack","/DigimonAdventure/Graphics/Wpn.gif"),
	SWpn2 ("Power Sword",0,200,0,0,700,"This sword carve through armor and flesh alike","Moderate increase in attack","/DigimonAdventure/Graphics/Wpn.gif"),
	SWpn3 ("Dimension Slasher",0,500,0,0,3000,"A blade so sharp that nothing could stand in it's way","Major increase in attack","/DigimonAdventure/Graphics/Wpn.gif"),

	/**HWpn - Heavy Weapon, +Str, -Agi*/
	HWpn1 ("Heavy Axe",0,70,0,-10,200,"A heavy axe to chop things","Increases Attack, but slightly reduses Agility","/DigimonAdventure/Graphics/HWpn.gif"),
	HWpn2 ("Destroyer",0,300,0,-50,1000,"Just as the name said: destroyer...","Greatly increases Attack, but reduces Agility","/DigimonAdventure/Graphics/HWpn.gif"),
	HWpn3 ("Terminus Omega",0,1000,0,-150,5000,"This mighty weapon could crush anything and everyting","Extermely increases Attack, but greatly reduces Agility","/DigimonAdventure/Graphics/HWpn.gif"),

	/**VWpn - Vitality Weapon, +Str & Vit*/
	VWpn1 ("Biomorphs",30,30,0,0,200,"Weapon fused to one's body to increase vigor","Slightly increases Attack & HP","/DigimonAdventure/Graphics/VWpn.gif"),
	VWpn2 ("Living Sword",100,150,0,0,1000,"Turns the wielder into a living weapon","Increases Attack & HP","/DigimonAdventure/Graphics/VWpn.gif"),
	VWpn3 ("Ignis Divine",250,300,0,0,5000,"The Divine Flame of Purgation protects us, and incinerates the foes","Greatly increases Attack & HP","/DigimonAdventure/Graphics/VWpn.gif"),

	/**DWpn - Defensive Weapon, +Str & Res*/
	DWpn1 ("Broadsword",0,30,30,0,200,"This sword offers both offense and defense","Slightly increases Attack & Defense","/DigimonAdventure/Graphics/DWpn.gif"),
	DWpn2 ("Zanbatou",0,150,100,0,1000,"A huge sword that can also be used as shield","Increases Attack & Defense","/DigimonAdventure/Graphics/DWpn.gif"),
	DWpn3 ("Necrontyr Blade",0,300,250,0,5000,"It covers the whole body to provide both offense and defense","Greatly increases Attack & Defense","/DigimonAdventure/Graphics/DWpn.gif"),

	/**AWpn - Agile Weapon, +Str & Agi*/
	AWpn1 ("Light Dagger",0,30,0,10,200,"Somehow it also increases your mobility","Slightly increases Attack & Agility","/DigimonAdventure/Graphics/AWpn.gif"),
	AWpn2 ("Wraith Sword",0,150,0,50,1000,"The sword used by the death-dealing wraiths","Increases Attack & Agility","/DigimonAdventure/Graphics/AWpn.gif"),
	AWpn3 ("Blade of Elmekia",0,300,0,150,5000,"The legendary blade of the Elmekian heroes","Greatly increases Attack & Agility","/DigimonAdventure/Graphics/AWpn.gif");

	private String name;
	private int modV;
	private int modS;
	private int modR;
	private int modA;
	private int price;
    private String desc;
    private String val;
    private String imageLoc;
    private ImageIcon icon;

    Weapon(String name,int modV,int modS,int modR,int modA,int price, String desc, String val, String imageLoc){
		this.name = name;
		this.modV = modV;
		this.modS = modS;
		this.modR = modR;
		this.modA = modA;
        this.price = price;
        this.desc = desc;
        this.val = val;
        this.imageLoc = imageLoc;
	}
	//kasih getter juga
	public String getName(){
		return name;
	}
	public int getModV() {
		return modV;
	}
	public int getModS() {
		return modS;
	}
	public int getModR() {
		return modR;
	}
	public int getModA() {
		return modA;
	}
    public int getPrice() {
        return price;
    }
    public String getDesc(){
        return desc;
    }
    public String getVal(){
        return val;
    }
    public String getImageLocation(){
        return imageLoc;
    }
    public ImageIcon getIcon(){
        return new ImageIcon(getClass().getResource(this.getImageLocation()));
    }
}
